package cn.zyq.ykb.service.config;

import cn.zyq.ykb.beans.config.ConfigPackage;
import cn.zyq.ykb.beans.sys.SysAdmin;
import cn.zyq.ykb.system.common.PageParam;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 配置-下载安装包Service接口
 *
 * @author SystemAuth
 * @date 2023-06-15
 */
public interface ConfigPackageService {
    /**
     * 查询配置-下载安装包
     *
     * @param configPackageID 配置-下载安装包主键
     * @return 配置-下载安装包
     */
    ConfigPackage selectConfigPackageByConfigPackageID(Integer configPackageID);

    /**
     * 查询配置-下载安装包
     *
     * @param serviceID 配置-下载安装包业务ID
     * @return 配置-下载安装包
     */
    ConfigPackage selectConfigPackageByServiceID(String serviceID);

    /**
     * 查询配置-下载安装包列表
     *
     *
     * @return 配置-下载安装包集合
     */
    List<ConfigPackage> selectConfigPackageList();


    PageInfo<ConfigPackage> selectConfigPackageList(PageParam pageParam);

    /**
     * 查询配置-下载安装包列表
     *
     * @param pageParam
     * @return 配置-下载安装包集合
     */
    List<ConfigPackage> selectConfigPackageAllList(PageParam pageParam);

    /**
     * 新增配置-下载安装包
     *
     * @param param 配置-下载安装包
     * @return 结果
     */
    int insertConfigPackage(ConfigPackage param);

    /**
     * 修改配置-下载安装包
     *
     * @param param 配置-下载安装包
     * @return 结果
     */
    int updateConfigPackage(ConfigPackage param);

    /**
     * 批量删除配置-下载安装包
     *
     * @param configPackageIDs 需要删除的配置-下载安装包主键集合
     * @return 结果
     */
    int deleteConfigPackageByConfigPackageIDs(Integer[] configPackageIDs);

    /**
     * 删除配置-下载安装包信息
     *
     * @param configPackageID 配置-下载安装包主键
     * @return 结果
     */
    int deleteConfigPackageByConfigPackageID(Integer configPackageID);

    /**
     * 返热更新包
     * @return
     */
    ConfigPackage getRgx();

    /**
     * 启用 禁用
     * @param configPackageIDs
     * @param type
     * @param loginAdmin
     * @return
     */
    int enableDisable(Integer[] configPackageIDs, Integer type, SysAdmin loginAdmin);
}
